<Schema name="DTMFunctionsSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:fdt="x-schema:FDTDataTypesSchema.xml"  xmlns:appId="x-schema:FDTApplicationIdSchema.xml">
	<!--Definition of Attributes-->
	<AttributeType name="functionId" dt:type="i4"/>
	<AttributeType name="checked" dt:type="boolean"/>
	<AttributeType name="enabled" dt:type="boolean"/>
	<AttributeType name="hasGUI" dt:type="boolean" default="0"/>
	<AttributeType name="printable" dt:type="boolean" default="0"/>
	<AttributeType name="help" dt:type="string"/>
	<AttributeType name="hidden" dt:type="boolean"/>
	<AttributeType name="label" dt:type="string"/>
	<AttributeType name="path" dt:type="uri"/>
	<AttributeType name="mime-type" dt:type="string"/>
	<AttributeType name="programName" dt:type="string"/>
	<AttributeType name="resizable" dt:type="boolean" default="0"/>
	<AttributeType name="separator" dt:type="boolean"/>
	<AttributeType name="toggle" dt:type="boolean"/>
	<AttributeType name="printableStandardFunction" dt:type="boolean" default="1"/>
	<AttributeType name="resizableStandardFunction" dt:type="boolean" default="1"/>
         <AttributeType name="moduleId" dt:type="ui4"/>   
         <AttributeType name="defaultFunctionId" dt:type="i4"/>    



	<!--Definition of Elements-->
	<ElementType name="MimeType" content="empty" model="closed">
		<attribute type="mime-type" required="no"/>
	</ElementType>
	<ElementType name="OpenWith" content="empty" model="closed">
		<attribute type="programName" required="no"/>
	</ElementType>
	<ElementType name="Status" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="toggle" required="yes"/>
		<attribute type="checked" required="yes"/>
		<attribute type="enabled" required="yes"/>
		<attribute type="hidden" required="yes"/>
		<attribute type="separator" required="yes"/>
	</ElementType>
	<ElementType name="Icon" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="path" required="yes"/>
	</ElementType>
	<!--Definition of a single function entry, which is not a standard function (concerning the applicationIds)-->
	<!--This entry has its own label-->
	<ElementType name="Function" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="label" required="yes"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="help" required="yes"/>
		<attribute type="hasGUI" required="no"/>
		<attribute type="printable" required="no"/>
		<attribute type="resizable" required="no"/>
		<attribute type="functionId" required="yes"/>
		<element type="Icon" minOccurs="0" maxOccurs="1"/>
		<element type="Status" minOccurs="0" maxOccurs="1"/>
		<element type="appId:FDTApplicationIds" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<!--Definition of a document entry, which specifies a path to a DTM provided document-->
	<!--This entry has its own label-->
	<ElementType name="Document" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="label" required="yes"/>
		<attribute type="help" required="yes"/>
		<attribute type="path" required="yes"/>
		<group order="one" minOccurs="1" maxOccurs="1">
			<element type="MimeType" minOccurs="1" maxOccurs="1"/>
			<element type="OpenWith" minOccurs="1" maxOccurs="*"/>
		</group>
		<element type="Icon" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<!--Definition of a single function entry, which is a standard function (concerning the applicationIds)-->
	<!--This entry has not an own label. The label must be supplied by the frame application-->
	<ElementType name="StandardFunction" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="help" required="yes"/>
            <attribute type="printableStandardFunction" required="no"/>
		<attribute type="resizableStandardFunction" required="no"/>
		<attribute type="functionId" required="yes"/>
		<element type="Icon" minOccurs="0" maxOccurs="1"/>
		<element type="Status" minOccurs="0" maxOccurs="1"/>
		<element type="appId:ApplicationId" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<!--Definition of a group of standard function entries-->
	<!--This entry has not an own label. The label must be supplied by the frame application. It can not contain standard functions-->
	<ElementType name="StandardFunctions" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="appId:ApplicationId" minOccurs="1" maxOccurs="1"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="help" required="yes"/>
           <attribute type="moduleId" required="no"/>       
		<element type="Status" minOccurs="0" maxOccurs="1"/>
		<group order="many" minOccurs="0" maxOccurs="*">
			<element type="Function" minOccurs="0" maxOccurs="*"/>
			<element type="Functions" minOccurs="0" maxOccurs="*"/>
		</group>
	</ElementType>
	<!--Definition of a group of function entries-->
	<!--This entry has its own label and could contain standard, non standard functions and documents-->
	<ElementType name="Functions" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="label" required="yes"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="help" required="yes"/>
		<attribute type="moduleId" required="no"/>                 
		<element type="Status" minOccurs="0" maxOccurs="1"/>
		<group order="many" minOccurs="0" maxOccurs="*">
			<group order="one" minOccurs="0" maxOccurs="*">
				<element type="Function" minOccurs="0" maxOccurs="*"/>
				<element type="Document" minOccurs="0" maxOccurs="*"/>
				<element type="StandardFunction" minOccurs="0" maxOccurs="*"/>
			</group>
			<group order="one" minOccurs="0" maxOccurs="*">
				<element type="Functions" minOccurs="0" maxOccurs="*"/>
				<element type="StandardFunctions" minOccurs="0" maxOccurs="*"/>
			</group>
		</group>
	</ElementType>
	<ElementType name="FDT" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="defaultFunctionId" required="no"/>                       
		<element type="Functions" minOccurs="1" maxOccurs="1"/>
     </ElementType>
</Schema>


 

